package com.idheima.IO;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class Test1 {
    public static void main(String[] args) throws IOException {
        //对文件中的字符集进行读取操作
        //IO流体系
        //1.字节流：输入流和输出流
        //2.字符流：输入流和输出流


        //读取文件中的字节数组
        //1.创建文件字节输入流对象
        //建立输入流管道（传输数据）
        File file = new File("D:\\java-base-ws" +
                "\\JavaAdvanceProject" +
                "\\day12_IO_zifuji\\src\\" +
                "com\\idheima\\IO\\aikun");//可以传文件路径
        FileInputStream fis = new FileInputStream(file);
        //读取文件中的字节数据
        //读取一个字节数据缺点：
        //1.耗时长，性能低
        // 2.中文乱码：一次读一个字节不能完全读取一个中文
        // System.out.println(fis.read());
        // System.out.println(fis.read());
        // System.out.println(fis.read());

        //一次性读取全部字节
        //方法一：
       /* byte[] bytes = new byte[(int) file.length()];
        fis.read(bytes);
        */
        //官方InputStream类提供了readAllBytes方法，一次性读取全部字节数据
        //方法二：
        byte[] bytes = fis.readAllBytes();
        System.out.println(new String(bytes));

        //流使用完毕后一定要释放资源
        fis.close();
    }
}
